This invention relates to filtering protocol noise from digitally transmitted data and more particularly to detecting and removing bits sequences in a bit stream that are exceptions to a transmitted packet protocol.
Network packet protocols, such as a High Level Data Link Control (HDLC) protocol, transmit information in a structured packet format. The packet protocol typically includes address bits, control bits, data bits and cyclic redundancy checksum (CRC) bits. In order for circuits to synchronize with the bit stream, flags are located at the beginning of each packet. The flags have a unique bit pattern that distinguish the flags from packet data. When there is no data or flags idle bits are inserted into the bit stream. Idle bits are simply a consecutive stream of bits all having the same logic one bit value.
The flags are maintained as unique bytes in the bit stream by bit stuffing zeros into the bit stream after a predetermined number of consecutive one's. The receiver of the transmitted HDLC bit stream will then strip out a zero if it occurs after the same predetermined number of consecutive one's. Thus, flags are assured of having a unique bit pattern in the transmitted bit stream.
A system receiving the bit stream synchronizes on the transmitted packets by first detecting the flag. If the bit pattern following the flag does not coincide with a flag or an idle condition, the bits are considered packet data. If the bits are identified as a flag or idle, the system decoding the bit stream goes into an abort condition. The abort condition directs the packet decoder to ignore the flag or idle bits, since those bits do not comprise packet data.
A bit stream can include sequences of bits that do not conform with the packet format described above. For example, a relatively small number of bits might exist between two flags in the bits stream. This sequence of bits does not qualify as a flag or idle condition. Because the bits are not a flag or idle condition, the packet protocol considers the bits to be packet data. Because they are tagged as packet data, the bits are passed through a packet decoder circuit. The packet decoder circuit determines that the number of bits are too few to comprise valid packet data and, in turn, generates a packet error. Numerous packet errors are generated by bit sequences that function as exceptions to standard protocol abort schemes. These errors can overshadow critical packet errors and unnecessarily waste system resources processing and reporting the nonconforming bits as invalid packet data.
Accordingly, a need remains for selectively filtering bits that do not conform with the bit stream packet protocol.